//
//  JLRoutable.swift
//  JLRouter
//
//  Created by Jiang Chencheng on 2024/8/16.
//

import Foundation
import UIKit
import JLCommonKit
import JLUIKit

public protocol JLRoutable: JLViewController {
    
    static func initialize(values: [String: Any]) -> JLRoutable?
    
    static var routePattern: String { get }
    
    static var pushAnimated: Bool { get }
    
    static var presentAnimated: Bool { get }
    
    static var description: String { get }
    
}

public extension JLRoutable {
    
    static var routeName: String {
        typeName.removingSuffix("ViewController")
    }
    
    static var routePattern: String { routeName }
    
    static var pushAnimated: Bool { true }
    
    static var presentAnimated: Bool { true }
    
    static var description: String { "missing description" }
    
}


